home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / bbs_game / zchss17a.zip / ZCHESS.DOC < prev    next >
Text File  |  1996-03-03  |  44KB  |  1,022 lines

  1.  
  2.     SYSOP.DOC, Version February 7, 1996
  3.  
  4.     Paul Fargen
  5.     6200 Richiewayne Drive
  6.     Louisville, KY
  7.     Ver 1.7 February 1996
  8.  
  9.     DISTRIBUTION
  10.  
  11.     Please distribute this Shareware version of ZCHESS via BBS, CD-ROM, or
  12.     any other suitable means.
  13.  
  14.     Paul Fargen grants an unlimited license to make and distribute
  15.     shareware copies of ZCHESS.  No modifications to the files contained
  16.     in the software package, including this file, may be made before
  17.     distribution.  No fee may be charged by anyone other than Paul
  18.     Fargen beyond the actual cost of providing these copies without the
  19.     prior written consent of Paul Fargen.
  20.  
  21.     Paul Fargen encourages distribution on CD-ROM, BBS systems, and
  22.     other media so long as the purchaser of the medium is aware that
  23.     they must also register ZCHESS to use this software beyond a
  24.     resonable trial period.  The purchase price of the media or any
  25.     subscription costs to an online service do not pay for this license.
  26.  
  27.  
  28.     PURPOSE
  29.  
  30.     The program ZCHESS.EXE is a chess door program which allows users to
  31.     play each other in correspondence, real-time chess or interBBS
  32.     chess.  ZCHESS does not make chess moves itself, but will check
  33.     human moves for legality and draws while keeping track of their
  34.     games.
  35.  
  36.  
  37.     SHAREWARE CRIPPLE
  38.  
  39.     Zchess played without a key limits the number of moves that can be
  40.     played in a game to 50.  This limit is not imposed on games that are
  41.     started and completed in a single day, allowing you to evaluate the
  42.     real-time, head-to-head feature entirely.  The limit will be imposed
  43.     on all games that span more than 24 hours.
  44.  
  45.  
  46.     PROGRAM LICENSE AGREEMENT
  47.  
  48.     Paul Fargen reserves all rights to this software product and
  49.     documentation.  The registered version of this package does not
  50.     include source code.  No part of these programs, including the
  51.     ZCHESS.KEY file, may be reverse-engineered or disassembled.
  52.     Distributing, repackaging, or reselling of the registered version of
  53.     the software to third parties is forbidden.  You may, however,
  54.     create chess programs using the graphical .ICN files, and you may
  55.     also write programs that read and write to the data files that
  56.     support ZCHESS so long as such applications do not serve to defeat
  57.     any limitations imposed on unregistered, shareware installations.
  58.     You may also edit, create new and distribute .ICN files with the
  59.     same names as used by Zchess under a separate effort.  Example
  60.     source code MAY be made available on the support BBSes listed below
  61.     upon request.  An exceptional License is granted to competing
  62.     sources to incorporate the format employed for interBBS play for
  63.     that same purpose, as long as you grant a similar License to me for
  64.     any other format you employ for the same purpose.
  65.  
  66.     Paul Fargen disclaims all warranties relating to this software, whether
  67.     expressed or implied, including, but not limited to, any implied
  68.     warranties of merchantability or fitness for a particular purpose, and
  69.     all such warranties are expressly and specifically disclaimed.  Neither
  70.     Paul Fargen nor anyone else who has been involved in the development,
  71.     testing or delivery of this software shall be liable for any indirect,
  72.     consequential, or incidental damages arising out of the use or
  73.     inability to use such software, even if Paul Fargen has been advised of
  74.     the chance of such damages or claims.  In no event shall Paul Fargen's
  75.     liability for any such damages ever exceed the price paid to Paul
  76.     Fargen for a license to use the software, regardless of the form of
  77.     the claim.    The person using the software bears all risk as to the
  78.     quality and performance of the software.
  79.  
  80.     Some states do not allow the exclusion of the limit of liability for
  81.     consequential or incidental damages, so the above limitation may not
  82.     apply to you.
  83.  
  84.     The license you may choose to purchase is assigned to you as an
  85.     individual, not your BBS.  You may run ZCHESS on one system per
  86.     license.  You may not transfer this license without the expressed
  87.     written consent of the author, which must be notarized.
  88.  
  89.     If you do not agree to these terms, then you may not run Zchess or
  90.     use any of the associated files.
  91.  
  92.  
  93.     TRADEMARK ACKNOWLEDGMENTS
  94.  
  95.     Turbo C is a registered trademark of Borland International, Inc.
  96.     QuickC, Windows, MS, MS-DOS are registered trademarks of Microsoft
  97.     Corporation.  PCL4C is copyrighted by MarshallSoft Computing, Inc.
  98.     PKUNZIP is copyrighted by PKWARE, INC.  Hayes is a registered trademark
  99.     of Hayes Microcomputer Products, Inc.  RIPscrip language is copyrighted
  100.     by TeleGrafix Communications, Inc.    DESQview is a trademark of
  101.     Quarterdeck.  Other trademarks and copyrights not listed above are
  102.     property of their respective companies.
  103.  
  104.  
  105.     SOFTWARE USED
  106.  
  107.     This program uses the PCL4C "Personal Communications Library" for C,
  108.     version 4.3 for most of the serial communications from the computer
  109.     to the modem.  Using this library, most of the code for the
  110.     communications portion of this terminal program were written very
  111.     quickly.  If you are planning to write programs that require serial
  112.     routines, you may wish to consider this product.  It is available as
  113.     Shareware on many BBSes, or directly from the author at the
  114.     following address.
  115.  
  116.         MarshallSoft Computing, INC.
  117.         Post Office Box 4543
  118.         Huntsville, AL 35815
  119.  
  120.         BBS:  205-880-9748   (14400, N, 8, 1)
  121.  
  122.     This door was compiled with Turbo C++ version 3.0.
  123.  
  124.     System Requirements
  125.  
  126.      BBS
  127.      * IBMPC compatible (8086 or higher)
  128.      * DOS 3.X or higher.
  129.      * EGA for graphical local screens.
  130.      * ANSI.SYS, NANSI.SYS, DVANSI.COM, etc. if running ZCHESS
  131.        locally.
  132.      * Minimal RAM memory, perhaps 300K.
  133.      * Serial ports using IRQs 2,3,4,5,6,7 and any address, or a
  134.        fossil.
  135.      * SHARE.EXE loaded for multinode systems.
  136.      * DV compatible (DV aware), Windows and OS/2 time slices.
  137.      * A diskcache program is strongly recommended.  Zchess polls
  138.        the disk for changing files every five to ten seconds.
  139.      * A DOOR.SYS dropfile for BBSes.  DOOR.SYS files can be created
  140.        for NOVELL or LANTASTIC type networks.
  141.      * the FILES statement in CONFIG.SYS should be at least 40 for
  142.        running from a BBS Door.
  143.  
  144.      Remote User
  145.      * ANSI emulation
  146.      * RIPScrip (optional)
  147.  
  148.     INSTALLATION ( QUICK START )
  149.  
  150.     1.    Copy all the files received into a subdirectory, and unzip.
  151.     The directory may be anything as long as the path name is less than
  152.     sixty characters or so.  When unzipping, you should see an "-AV" beside
  153.     each filename.  The last two lines should appear as
  154.  
  155.     Authentic files Verified!    # JWE939
  156.     PAUL FARGEN
  157.  
  158.     If this is not the case and you have any doubts about the source of
  159.     ZCHESS, call one of the support BBSes listed below and download
  160.     the latest version.
  161.  
  162.     2.    Run the SETUP.EXE program.  You will be prompted for the
  163.     information that is to be stored in ZCHESS.CFG.  This information is
  164.     explained elsewhere in this document.  To use setup, use your cursor
  165.     keys to select each item, answering the questions as best your can.
  166.     Often the defaults will be sufficient to get Zchess up and running.
  167.  
  168.     SETUP will also create the subdirectories required by ZCHESS.
  169.  
  170.          \OPEN contains the game files, User to user messages, Note
  171.             files, HISTORY.DAT and for Networked subs, NET.CFG.
  172.          \MSG contains all messages sent from node to node during
  173.           multinode play.
  174.          {BULLS} (Path configured by ZCHESS.CFG ) is the location that
  175.              bulletins generated by the maintenance routines
  176.              will be placed.
  177.          {PLAYER_DATA} (Configured by ZCHESS.CFG) is the location
  178.               that the player data (ratings, games won, etc.)
  179.               will be kept.  If you run multiple copies of
  180.               ZCHESS, you can specify the identical path for
  181.               each door.  This allows the player data to be one
  182.               rating list.  Real-time chess sections use another
  183.               ratings list saved in the subdirectory for that
  184.               section.    Other Sections (subdirectories) can also
  185.               be setup.  Using SETUP.EXE, you may wish to add
  186.               some for timed chess, such as
  187.  
  188.               REAL1 5 minutes for all moves (Head to head)
  189.               REAL2 10 minutes for all moves (Head to head)
  190.               REAL3 20 minutes for all moves (Head to head)
  191.               REAL4 40 minutes for all moves (Head to head)
  192.               REAL5 60 minutes for all moves (Head to head)
  193.               REAL6 120 minutes for all moves (Head to head)
  194.               REALx 30 minutes for all moves (Head to head)
  195.  
  196.           OPEN1    An extra local or networked section.
  197.           TOUR    A tournament section.
  198.  
  199.     Time limits for REAL sections are set according to the Section name.
  200.     The default is thirty minutes.
  201.  
  202.     For real-time chess sections,  clocks will tick down.  Also, move
  203.     take-back is disabled.  The time for your moves is always maintained by
  204.     your session of ZCHESS.  Time for your opponent's moves is only
  205.     estimated by your session, and maintained by his own session.
  206.  
  207.     3.    To run ZCHESS from your BBS, install a call to ZCHESS.EXE
  208.     giving the complete path to DOOR.SYS as the command line parameter.  An
  209.     example of this is:
  210.  
  211.     C:\ZCHESS\ZCHESS.EXE C:\BBS\WORK\NODE%WCNODEID%\DOOR.SYS
  212.  
  213.     If your BBS does not generate a DOOR.SYS drop file there are many
  214.     conversion programs that will convert whatever you have to DOOR.SYS.
  215.     The support BBS given below should have a copy of a Shareware
  216.     conversion program directory.  If you can't find a converter please
  217.     send a copy of your drop file to me at the address below, and I may
  218.     choose to write a conversion for the information required by the
  219.     program.  Let me know if you want the program mailed or posted on
  220.     the support BBS.
  221.  
  222.     Alternatively, you may run Zchess without any command line
  223.     parameters.  You will be asked to login, and will be assigned 60
  224.     minutes remaining.    This feature might be usefull for some LAN
  225.     configurations.
  226.  
  227.     4.    You may run ZCHESS locally with LOCAL.BAT.  This batch file will
  228.     call ZCHESS with an abreviated DOOR.SYS that was created by SETUP.EXE.
  229.     Note:  When games are finished, Zchess will attempt to notify you the
  230.     next time you run the door via a telegram.    Since the MSG\*.TGR
  231.     files are cataloged by the actual BBS number, local players should
  232.     run from the BBS Door at least once, or these telegrams will not
  233.     function for you.
  234.  
  235.     5.    Post the files ZC_BW.ZIP and ZC_RB.ZIP for download by your RIP
  236.     users.  These contain the RIP icon files that should be copied into the
  237.     RIP subdirectory.  Also, you may modify or create new sets of icons,
  238.     posting these for your users.  These files may be edited with IMED,
  239.     available from Paul Fargen by request.  Other RIPScrip icon editors
  240.     may be used as well, as long as you maintain a filelength of 566.
  241.  
  242.     6.    Maintenance should be performed once a day.  MAINT.EXE will lockout
  243.     all other nodes during the one or two minutes required.  MAINT does not
  244.     require any command line switches.    Your BBS should be configured to run
  245.     MAINT.EXE as a daily event or weekly event.
  246.  
  247.  
  248.     SYSTEM LOCKOUT
  249.     As mentioned above, MAINT.EXE will lockout all other nodes when it
  250.     runs.  Additionally, if your run NETCHESS.EXE, that program will
  251.     lockout all nodes as well.    SETUP.EXE must lockout all nodes before
  252.     it allows you to run as well.  As there are menu choices to run
  253.     maintenance or zchess from the setup main menu, the system lockout
  254.     is released as soon as either of these are selected.  You should be
  255.     sure that there is no chance that a player will logon during a setup
  256.     session before running MAINT or ZCHESS.  More that likely, nothing
  257.     will go wrong should a player logon from your BBS while you are
  258.     running SETUP after the system lockout has been released.  Still,
  259.     running any of the setup functions while the BBS is up is "not
  260.     supported", meaning that
  261.     if it works for you then great.  If it doesn't work, then don't do
  262.     it!  (It will probably be okay, though.)
  263.  
  264.     MANAGING A TOURNAMENT
  265.     Tournaments are managed through the ZCHESS door, and not the maintenance
  266.     program.  The sysop may create the next round using 'M' from the
  267.     main menu, after switching sections to the tournament.
  268.  
  269.  
  270.     REGISTERED PROGRAM KEY FILE
  271.  
  272.     When the program starts ZCHESS will try to open a file called
  273.     ZCHESS.KEY.  The major difference between the Shareware version and
  274.     the registered version is the existence of this file.  Your BBS ID
  275.     is copied from the registration number on this key, which assures
  276.     that each BBS ID is unique.  Shareware versions allow the sysop to
  277.     specify a BBS ID, but the first character is forced to a dash, which
  278.     maintains the uniqueness of the registered users' keys.
  279.  
  280.  
  281.     COMMAND LINE ARGUMENTS FOR ZCHESS
  282.  
  283.         path\DOOR.SYS
  284.         Required location and name (always should be DOOR.SYS) of
  285.         the system drop file.  If not specified, you will be able to
  286.         login.
  287.  
  288.         NO_CTS
  289.         ZCHESS ignores the CTS line when sending characters out the
  290.         port.
  291.  
  292.         NO_DCD
  293.         ZCHESS ignores the DCD, data carrier detect line.  To be
  294.         used for three-wire operation.
  295.  
  296.         NOTIFY
  297.         Zchess will run the notify routine and then exit.  Setup
  298.         your BBS to call
  299.  
  300.         ZCHESS.EXE path\DOOR.SYS NOTIFY
  301.  
  302.         as one of your log-on externals to allow people to know that
  303.         they have a move.
  304.  
  305.  
  306.     CONFIGURATION FILE: ZCHESS.CFG
  307.  
  308.     This file is created by SETUP.EXE or with an ASCII test editor.  The
  309.     format used was proposed to me by Charles Taylor, of Pikinu's Yap Yap
  310.     BBS in Louisville.    Each line begins with an optional comment,
  311.     describing what the variable is.  ZCHESS will ignore anything prior to
  312.     the '=' sign.
  313.  
  314.     This is a sample ZCHESS.CFG file:
  315.  
  316.  Database Rev            = 1
  317.  Sysop's name                   = Paul Fargen
  318.  BBS name            = Rip On A Rope
  319.  BBS_ID             = FARG
  320.  Max games per player        = 25
  321.  Max days before default    = 0
  322.  Path to bulletins        = C:\ZCHESS\BULLS\
  323.  Path to PLAYERS.DAT        = C:\ZCHESS\PLAYERS\
  324.  Number of nodes        = 1
  325.  Path to PKUNZIP        = \PKWARE\
  326.  PathNAME of downloader        = \DSZ\DZDL.BAT
  327.  Logging active ?        = 1
  328.  Seconds between status updates = 1
  329.  Daily time limit        = 9999
  330.  Time zone            = EST
  331.  Give up time slice?        = 1(1=Yes,0=No)
  332.  
  333.  
  334.     Database Rev
  335.     Should always be 1 for revisions starting at 1.5.
  336.  
  337.     Sysop'S Name
  338.     Enter the sysop's name on the first line.
  339.  
  340.     BBS Name
  341.     Enter the BBS name on the second line.
  342.  
  343.     BBS_ID
  344.     The BBS ID is an abbreviation of the BBS's name.  It will be used by
  345.     future versions of ZCHESS when networking between BBSes is added.
  346.     (Version 2.0  April 1996)
  347.  
  348.     Max Games Per Player
  349.     This number is checked when a player is trying to start or join a game.
  350.     Max games can be changed at any time.  Existing games are allowed to be
  351.     completed.
  352.  
  353.     The author intended the maximum number of games per user to be set
  354.     from twenty to 100.  This setting will, of course, be global to all
  355.     sections in a single door.    If this limit is set to 0, no games can
  356.     be started from the door, and the message "This is a Special
  357.     section.  You can't start games" will popup whenever a player
  358.     attempt to start or join a game.  If you desire to have some areas
  359.     to be configured normally, and other areas to have games setup
  360.     offline by the sysop or other means, you should run Zchess in two
  361.     different doors, allow these different configurations.  You should
  362.     consider setting the paths to PLAYERS.DAT to be identical, allowing
  363.     a common database of ratings between the doors.
  364.  
  365.     Max Days Before Default
  366.     This is the number of days a player has to make a move before the
  367.     maintenance routines forfeits the game.  It is also used as the time a
  368.     finished game will remain for the purpose of annotations.
  369.  
  370.     Path To Bulletins
  371.     This is where the bulletins generated by the maintenance routines are
  372.     placed.  It can be set to your BBS's bulletin directory.
  373.  
  374.     Path To PLAYERS.DAT
  375.     This is the location of the player data file.  It can be set
  376.     identically for all copies of the door you run.  (Note that ZCHESS
  377.     has a 100 game limit for each section.) You can specify as much or
  378.     as little detail in the paths as your system requires.  For networks
  379.     that allow mapping drive letters to paths, being brief might be the
  380.     best choice.  If zchess is running on a single node BBS, then the
  381.     path might be fully specified, i.e.
  382.  
  383.     C:\ZCHESS\PLAYERS\
  384.  
  385.     If you are running on a local area network, you might just specify
  386.     the next level, i.e.
  387.  
  388.     PLAYERS\
  389.  
  390.     Zchess must find this path, or the program will not run.
  391.  
  392.  
  393.     Number of Nodes
  394.     Used for communications between nodes when running ZCHESS.    Messages
  395.     are sent to all nodes less than or equal to this setting.  This should
  396.     be set to the number of nodes you now have active if you desire
  397.     real-time messages between nodes.
  398.  
  399.     Path to PKZIP/PKUNZIP
  400.     This can be set to the path required for ZCHESS to find these files.
  401.     It is not required for this version.  In the future, it will be used to
  402.     zip or unzip network-required files.
  403.  
  404.     Path/Name for downloader
  405.     Set this to the path and filename of your downloader.  It is not used
  406.     by this version of ZCHESS, but may be used in the future to allow
  407.     download of the .ICN files to RIP users.
  408.  
  409.     Logging active?
  410.     If logging is active, reasons for the program ending other than the
  411.     normal 'X' exit choice are logged to a file named "ZCHESS.LOG".  This
  412.     file is renamed to "ZCHESS.BAK" after it grows in size to 50,000 bytes.
  413.     With these two files, reasons for program termination can be
  414.     determined.  If logging is active, users are required to press any key
  415.     within the first few seconds of starting ZCHESS.  This will quickly
  416.     return them to the BBS if there are problems with passing the DOOR.SYS
  417.     parameter, the NODEx.CFG required by a particular non-standard port is
  418.     missing or incorrect, or there are other problems.    If a key-press
  419.     can't be read by ZCHESS, then it will exit.
  420.  
  421.     Secs Between Status Update
  422.     This control the frequency of the status line being repainted at the
  423.     bottom of the screen.  If set to 0, it will be disabled.  Information
  424.     about the user name, node, etc.  is displayed.
  425.  
  426.     Daily Time Limit
  427.     To limit the minutes a user can stay in the door each day.    This can be
  428.     more restrictive than the BBS limit.  Zero, or a large number will
  429.     disable this feature.
  430.  
  431.     Time zone
  432.     Used when generating messages for Synchronet BBS.
  433.  
  434.     Give up time slice?
  435.     Releases of OS/2 Warp by IBM and Windows 95 by Microsoft prompted
  436.     the addition of time-slice returning for DOS windows in these and
  437.     other operating systems.  It may be that Zchess and other tasks
  438.     running on your computer operate better without giving up the time
  439.     slice, however.  You may set this flag to 0 (for No) if this is the
  440.     case.  Otherwise, Zchess will give up its time slice if waiting on a
  441.     keyboard input (or character from the remote) for DOS windows under
  442.  
  443.          Desqview
  444.          Windows Standard Mode
  445.          Windows 386 mode
  446.          Windows 95
  447.          Windows NT (Not tested at the time release)
  448.          OS/2
  449.  
  450.     Graphics
  451.     Local mode RIP is actually EGA mode graphics.  The pieces used are the
  452.     .ICN files that came with ZCHESS.  If you wish to edit the pieces, get
  453.     a copy of IMED from the BBSes listed below or use another RIP Icon
  454.     editor of your choice.
  455.  
  456.     Saving Games
  457.     As games are ended, they are written to a .PGN (Portable Game
  458.     Notation) file.  The file will be located in the same directory that
  459.     contained the game.  Games are appended to this file.  You should
  460.     check the size of the file periodically, and move it to a directory
  461.     accessible to your users.  If you prefer to not save all of the games
  462.     in .PGN files, simply delete 2PGN.EXE.
  463.  
  464.  
  465.     RUNNING TOURNAMENTS
  466.  
  467.     To create a tournament, use SETUP.EXE to create a subdirectory that
  468.     begins with the letters TOURN.  Players can then 'S'witch to that
  469.     sub and 'J'oin the tournament.  Note that joining multiple times
  470.     will result in a single entry, as the list is filtered when the
  471.     tournament maintenace routine is performed.
  472.  
  473.     After everyone has had an opportunity to join the tournament, the
  474.     sysop can 'S'witch to that section from the door, and press 'M' for
  475.     Manage Tourny.  The list of entries can be edited to some degree,
  476.     and then the number of groups should be selected.  I believe that a
  477.     good number of players for a group is three to five.  The smaller
  478.     the group, the more games are required, as everyone in a group will
  479.     play White and Black against every other player in his group.
  480.     The grouping can be edited somewhat as well.
  481.  
  482.     Finally, the games required for the first round will be created.
  483.     Note that players are not allowed to start or join games in TOURN
  484.     sections, so each game must be created either with ZCHESS or manually
  485.     by the sysop.
  486.  
  487.     Deleting a tournament
  488.     To delete a tournament, you can delete the entire directory which
  489.     contains it.  At a minimum, you must delete GAME*.DAT and CROSS.TXT.
  490.  
  491.     TIME SLICING
  492.     Zchess will sense the operating system when it is started.    If it
  493.     finds OS/2, Windows 3.x, Windows 95, Windows NT or Desqview, it will
  494.     try to return the time slice each time the keyboard scan returns a
  495.     no keypress.  This may make Zchess run too sluggishly or jerky on
  496.     some systems.  For this reason, you can configure Zchess to never
  497.     return the time slice, and let the operating system gram time away
  498.     as it needs.
  499.  
  500.  
  501.     WORKING WITH PLAYER DATA
  502.  
  503.     The PLAYERS.DAT file contains the names, ratings and won-loss records
  504.     of the users.  There is one file for all of the OPEN sections, and one
  505.     each for the REAL section.    These are binary files, and cannot be
  506.     edited directly.
  507.  
  508.     The MAINT.EXE program exports the PLAYERS.DAT file to PLAYERS.TXT, and
  509.     then re-imports all data.  This allows users that aren't active to be
  510.     deleted by changing the first letter of their name to a tilde.  Such
  511.     records are skipped during the import phase of maintenance.  If you
  512.     have a need to change things about a particular record, you may
  513.  
  514.     1.  Run MAINT.EXE to get a PLAYERS.TXT file.
  515.     2.  Change directories to the PLAYERS.DAT and PLAYERS.TXT files
  516.         you wish to work with.
  517.     3.  Edit PLAYERS.TXT as required.
  518.     4.  Run IMPORT.EXE to import the text into PLAYERS.DAT.
  519.  
  520.     While working with the exported PLAYERS.TXT file, you will notice
  521.     that there are some spare fields, which may be used in future versions
  522.     of Zchess.    These fields should be set to 0.  As this file is
  523.     imported to PLAYERS.DAT, these fields are reset to zero.  The
  524.     maintenance program monitors these fields, and if there are found
  525.     to be non-zero, will assume that this file is corrupt, and will
  526.     attempt to rebuild PLAYERS.DAT from the PLAYERS.NAM file.
  527.  
  528.     A typical record would have the format of
  529.  
  530. Number           = 0
  531. Name           = Paul Fargen
  532. BBS_ID           = 0
  533. Security       = 99
  534. Rating           = 1400
  535. Wins           = 1
  536. Losses           = 2
  537. Draws           = 3
  538. Spare           = 0
  539. Graphics       = 5
  540. Bypass Intro   = 0
  541. BBS user number= -1
  542. Spare           = 000
  543. Min Left Today = 1000
  544. Secs Left Now  = 600
  545. Last on        = 823415247
  546. $end_record$ ---------------------------------------------------------
  547.  
  548.     Number
  549.     A sequential number that is assigned as people enter the door.  This
  550.     number is reassigned by maintenance should players be deleted.
  551.  
  552.     Name
  553.     The name will be the name (24 characters max) that is used during
  554.     logon.  Names are retrieved from the tenth line of DOOR.SYS.  They
  555.     may be the real name or the alias, as configured by your BBS.  If
  556.     the first letter of the name is changed to a tilde ( ~ ), the name
  557.     will not be skipped during import with either IMPORT.EXE, or by the
  558.     maintenance program.
  559.  
  560.     BBS_ID
  561.     An unused field.  Leave set to zero.
  562.  
  563.     Security
  564.     The security level of the user as retrieved from DOOR.SYS.    Not used
  565.     by this version of Zchess.
  566.  
  567.     Rating
  568.     The chess rating.  New players are assigned a rating of 1400.  For
  569.     games completed, the rating is recalculated as follows:
  570.     For winner:
  571.     New rating = old rating + ( Loser'sRating-Winner'sRating)/25+16.
  572.     For the Loser
  573.     New rating = old rating + ( Winner'sRating-Looser'sRating)/25-16.
  574.  
  575.     The following exceptions are made:
  576.  
  577.     1.    If the difference between ratings is more than 400, it is assumed to
  578.     be 400.
  579.     2.    At least two points must be exchanged if the game ends
  580.     decisively.
  581.     3.    If a rating falls below 1200, it is assigned 1200.
  582.     5.    Should a rating grow above 2800, it is assigned 2800.
  583.  
  584.  
  585.     Note that every point of ratings gained by one player is lost by
  586.     the other, except for the assignment of 1200.
  587.  
  588.     Ratings on one BBS might not correspond to ratings on another BBS.    The
  589.     strength of a given rating is dependant on the strength of the
  590.     players on the BBS.  The average will be 1400, or slightly above on
  591.     all BBSes.    If your BBS participates in networked games, the ratings
  592.     of your players will be averaged, to some degree, with the BBS, as
  593.     ratings points are exchanged in networked games too.
  594.  
  595.     Wins
  596.     The number of wins for the player.
  597.  
  598.     Losses
  599.     The number of losses for the player.
  600.  
  601.     Draws
  602.     The number of draws for the player.
  603.  
  604.     Spare
  605.     A spare number.  Leave set to 0.
  606.  
  607.     Graphics
  608.     The graphics configuration of the user, set by using '&' from the
  609.     main Zchess menu.  While users will have a mode selected for the BBS,
  610.     they may choose to differ in Zchess.  This will be one of the
  611.     following values:
  612.  
  613.     1 - Autodectect
  614.     2 - Match mode in BBS
  615.     3 - RIP154.  Will use the .ICN files which should be downloaded by
  616.     the users.  ZC_BW.ZIP or ZC_BR.ZIP contain icons for all pieces
  617.     required.  These files should have been shipped with ZCHESS.
  618.     4 - RIP200.  Will use the .BMP files, which will be converted
  619.     automatically by RIPTERM 2.xx from the .ICN files described
  620.     above.
  621.     5 - ANSI Color.  Will send text based pieces.
  622.  
  623.     Bypass Intro
  624.     Should be '0' for no or '1' for yes.  If set to Yes, the opening
  625.     graphic will not be displayed, and the user will go to the main
  626.     menu as quickly as possible.
  627.  
  628.     BBS user number
  629.     The user number as assigned by the BBS software.  This is used to
  630.     store Telegrams.
  631.  
  632.     Spares
  633.     Three spare numerical data files.  Leave this line set to 000.
  634.  
  635.     Min Left Today
  636.     Minutes remaining.    Is set by Zchess each time a user starts the door.
  637.  
  638.     Secs Left Now
  639.     Seconds remaining.    Is set by Zchess, and used to force the user
  640.     out of the door as their time alloted on the BBS runs out.
  641.  
  642.     Last on
  643.     Time that the user last entered the Zchess door.  Is stored as the
  644.     number of seconds since 1-1-1970.
  645.  
  646.  
  647.     SOLUTIONS TO POSSIBLE ERRORS AND PROBLEMS
  648.     If there is an unusual error, zchess will try to exit gracefully.
  649.     Depending on what the problem is, an entry will be added to the
  650.     bottom of a file called ZCHESS.LOG.  The entry will be time stamped,
  651.     and include the user's name at the time to assist you with finding
  652.     and solving the problem.
  653.  
  654.     Bad door.sys -> C:\ZCHESS\DOOR.SYS.
  655.     The drop file specified wasn't found by Zchess.  This is probably
  656.     caused by failing to include the path.
  657.  
  658.     COLORS UNDER WINDOWS 3.1
  659.     The ANSI.SYS I use tends to have global colors for all DOS windows
  660.     under WIN 3.xx.  The colors may not be consistant, as everything
  661.     printed to the local screen is done via ANSI.
  662.  
  663.     AllocSeg Error
  664.     I've never seen this happen.  When Zchess opens the communications
  665.     port, it grabs the IRQ from the BBS, and allocates some memory to
  666.     serve as an input buffer of 64 bytes.  If this memory isn't
  667.     available, you should give Zchess a larger window to run from.
  668.  
  669.     Quick find record failure...
  670.     Error finding end of PLAYERS.DAT
  671.     Error getting size of PLAYERS.DAT
  672.     Put player failure... Run SETUP.EXE
  673.     Get player failure... Run SETUP.EXE
  674.  
  675.     These errors concern the PLAYERS.DAT file.    This file maintains a
  676.     record for all players that includes their name, ratings,
  677.     won-draw-loss records, configuration, last time on and some other
  678.     BBS related flags.    If you try to run ZCHESS.EXE without first
  679.     running SETUP.EXE, you might get one of these errors.  If
  680.     PLAYERS.DAT is corrupted, you might see one of these errors.
  681.  
  682.     You should create a valid copy of players.dat.  SETUP.EXE will
  683.     create a PLAYERS.DAT of zero length, which is of course the
  684.     smallest.  As players play ZCHESS, they are added to this file with
  685.     a record size of 61 bytes.    The format of each record was coded in C
  686.     as follows:
  687.  
  688.     struct PLAYER_STRUCT
  689.     {
  690.         unsigned long number;      /*  0 - ??  Numbered in order of playing Zchess */
  691.         char name[MAXNAMELENGTH]; /* 25 bytes allowing 24 char name with null */
  692.         short BBS_ID_pointer;      /* Future use?? */
  693.         unsigned long security;   /*  10 - 99 on most BBSes?  */
  694.         short rating;          /*  1400 is the average. */
  695.         short wins;          /* 0 - 32000+ */
  696.         short losses;          /* 0 - 32000+ */
  697.         short draws;          /* 0 - 32000+ */
  698.         char spare_config0;      /* Spare */
  699.         char graphic_mode;      /* Set by '&'.  ANSI, RIP, etc. */
  700.         char bypass_intro;      /* Set by '&'.  1 or 0 for Yes or No */
  701.         char spare_config2;      /* Spare */
  702.         char spare_config3;      /* Spare */
  703.         short BBS_player_number;  /* User # for BBS.  For Telegrams */
  704.         char spare_config4;      /* Spare */
  705.         char spare_config5;      /* Spare */
  706.         char spare_config6;      /*  Used to sort tourneys */
  707.         short minutes_remaining_today; /*  Set at logon */
  708.         time_t seconds_remaining;      /*  Set at logon */
  709.         time_t last_on;       /*  LONG INT.  # of seconds since 1-1-70 */
  710.     };
  711.  
  712.     Suspicious Data
  713.     If users complain that their number of wins displayed has been reset
  714.     to zero, that their player number is a very very large number, or
  715.     that there is something else wrong with the ratings, records or
  716.     player information, PLAYERS.DAT may have been corrupted.  Corruption
  717.     can be caused by system disk problems or loss of power at the wrong
  718.     time, and possibly a number of other surprises.
  719.  
  720.     Once corrupted, PLAYERS.DAT should be deleted.  This is a binary
  721.     file, and data can't be saved if the entire file is not intact.
  722.     Chess players will be very disappointed if their ratings and records
  723.     are lost.  There are a few remedies you might wish to try.
  724.  
  725.     1.    Delete PLAYERS.DAT.
  726.     2.    Look at PLAYERS.TXT using a text editor, such as MS DOS's EDIT.
  727.     If the information in this file appears to be correct, run
  728.     IMPORT.EXE from this subdirectory.  Remember to specify the
  729.     path to IMPORT.EXE, but run the program from the directory which
  730.     is to be repaired.
  731.  
  732.     A second option is to rebuild from the PLAYERS.NAM file.  Each time
  733.     a user logs off or changes sections, the most critical data is saved
  734.     to a file called PLAYERS.NAM in the same directory as PLAYERS.DAT
  735.     and PLAYERS.TXT.  To do this rebuild, do the following:
  736.  
  737.     1.    Delete PLAYERS.DAT.
  738.     2.    Change directories to the Zchess directory.
  739.     3.    Run MAINT.EXE.
  740.  
  741.     MAINT.EXE will discover that the PLAYERS.DAT file is missing, and
  742.     begin rebuilding it from the PLAYERS.NAM file.  It might be expected
  743.     that the problem with PLAYERS.DAT wouldn't be discovered until after
  744.     quite a few new logins.  Logging in would create a new record, with
  745.     a rating of 1400, and no games completed.  PLAYERS.NAM would
  746.     hopefully have the current rating and record of these players before
  747.     the problem, as well as the new information.  MAINT will read each
  748.     entry from PLAYERS.NAM, and use the latest entry if the number of
  749.     games completed is the same, and use the record having the most
  750.     number of games completed otherwise.  Hence, the old information
  751.     would be restored.
  752.  
  753.     ZCHESS RUNS SLOWLY WHEN CHANGING SCREENS OR EXITING
  754.     Configuring more nodes than is necessary will slow down the Zchess.
  755.     Zchess writes a message to each other node every time the menu is
  756.     changed.  If the max node set in ZCHESS.CFG is unnecessarily large,
  757.     then time is waisted.  Always set the max nodes to the smallest
  758.     possible.
  759.  
  760.     SUPPORT FOR NON-STANDARD NODES
  761.     If your BBS has a node that is other than a UART port 1,2,3 or 4,
  762.     you should setup a non-standard node using SETUP.EXE.  This will
  763.     create a file which should have two lines.    For fossil ports,
  764.     the lines will be similar to:
  765.  
  766.  
  767.     FOSSIL
  768.     15
  769.  
  770.     The first line will always be FOSSIL.  The second line will be the
  771.     fossil port that should be used.  These lines are saved into a file
  772.     called NODEx.CFG, where x is the node number of your BBS which has
  773.     a non-standard port.
  774.  
  775.  
  776.     If you have a port that has a different address or IRQ than the
  777.     standard for COM1, COM2 COM3 and COM4, you should generate a file
  778.     with the following two lines:
  779.  
  780.     3E8
  781.     4
  782.  
  783.     The first line is the hex address of your port, and can be set to
  784.     whatever you have.    The second line is the IRQ, also in hex.  For this
  785.     version of Zchess the IRQs are limited to 2,3,4,5,6 and 7.    Note that
  786.     a NODEx.CFG file should not be present if the comport reported in
  787.     DOOR.SYS is COM1 through COM4 and it uses the standard addresses and
  788.     IRQs.
  789.  
  790.     COMMUNICATIONS
  791.     There are a few various communications vehicals between Zchess, the
  792.     user and other users in Zchess.  These are listed below:
  793.  
  794.     Messages
  795.     Messages are from user to user while Playing in a game.  These
  796.     messages, initiated with the 'M' hot-key, are received by your
  797.     opponent the next time he enters the game.    If a BBS is
  798.     eavesdropping on a section between two other BBSes, the messages are
  799.     not captured, as the communications is assumed to be from a player
  800.     to the other player.
  801.  
  802.     Notes
  803.     Notes are game annotations that are written while Viewing a game and
  804.     pressing 'V'.  Notes are from a user to everyone on a given BBS for
  805.     the purpose of a discussion of the game.  Notes therefore, are not
  806.     sent or received by Netchess.  Notes remain local to the BBS only.
  807.     Annotations can be posted for download and placed into other Zchess
  808.     doors if a particular game has merit.  Look for the file called
  809.  
  810.     Telegrams
  811.     Telegrams are from Zchess to a user regarding game status changes.
  812.     A telegram is generated when Telegrams are not sent to remote BBSes.
  813.     Often telegrams will be generated by games ending with a remote BBS.
  814.  
  815.  
  816.  
  817.     FILES YOU SHOULD WATCH
  818.     You should monitor ZCHESS.LOG, which is in the same directory as
  819.     ZCHESS.EXE.  The log files should be automatically deleted once they
  820.     grow in size to 50000 bytes.  This may or may not have information
  821.     that could be useful to you at the time that its deleted.  If your
  822.     door is running well, then most of the information will probably
  823.     concern people dropping the carrier, and isn't important.
  824.  
  825.     Another file you should watch is PLAYERS.NAM.  There will be a copy
  826.     of this file in your path to PLAYERS.DAT, and each REAL section.
  827.     These files grow until the MAINT.EXE program is run.  MAINT.EXE
  828.     resets the file, and then adds one record for each user.  Before
  829.     this file is reset, the PLAYERS.DAT file is checked for obvious
  830.     corruption, so hopefully between the three files, you will not loose
  831.     all of the player data.
  832.  
  833.     PLAYERS.DAT is the most important file to control.    You might wish
  834.     to maintain a backup of this file each month on a floppy.  This will
  835.     prevent you from loosing most of the ratings and game results.
  836.  
  837.     .PGN files must be watched.  After each game is completed, it is
  838.     exported to a .PGN file in the game subdirectory.  This file will
  839.     grow without boundary.  If your chess door is very active, you
  840.     should watch this file, edit, move or delete it as required.
  841.  
  842.     TIME STAMPING
  843.     Zchess stores and manipulates time using the ANSI time() function.    For
  844.     Turbo C, this value is a long (32 bit) word representing the number of
  845.     seconds that have elapsed since 1-1-1970.  Below is a list of values
  846.     for a few dates:
  847.  
  848.     Date        Count in decimal    Count in hex
  849.  
  850.     01-01-1980          315550800
  851.     01-01-1990          631170000
  852.     04-01-1996          828334800
  853.     07-01-1996          836193600
  854.     08-01-1996          838872000
  855.     09-01-1996          841550400
  856.     10-01-1996          844142400
  857.     11-01-1996          846824400
  858.     12-01-1996          849416400
  859.     01-01-1997          852094800
  860.     02-01-1997          854773200
  861.     03-01-1997          857192400
  862.     04-01-1997          859870800
  863.     05-01-1997          862459200
  864.     06-01-1997          865137600
  865.     07-01-1997          867729600
  866.     08-01-1997          870408000
  867.     09-01-1997          873086400
  868.     10-01-1997          875678400
  869.     11-01-1997          878360400
  870.     12-01-1997          880952400
  871.     01-01-1998          883630800
  872.     01-01-1999          915166800
  873.     01-01-2000          946702800
  874.     01-01-2001          978325200
  875.     01-01-2010         1262322000
  876.     01-01-2020         1577854800
  877.     01-01-2030         1893474000
  878.     01-01-2035         2051240400
  879.     01-01-2036         2082776400
  880.     01-01-2037         2114398800
  881.     01-01-2038         2145934800
  882.     01-15-2038         2147144400
  883.     01-16-2038         2147230800
  884.     01-17-2038         2147317200
  885.     01-18-2038         2147403600
  886.     01-19-2038         2147490000
  887.     01-19-2038    22:14:07 2147483647  7FFFFFFFH
  888.  
  889.     In 40 years or so, this counter will overflow into negative numbers.
  890.     Zchess should have no problems with time until then.
  891.  
  892.     PROTECTION FOR SUBSCRIBERS
  893.     As a subcriber to ZCHESS, you will be protected from harassment by
  894.     telemarketers, MODEM marketers, hacks and whatever else by the fact
  895.     that the author will NOT furnish information that you specify on the
  896.     registeration form except for the following:
  897.  
  898.     BBS Name:    Four character BBS_ID that is contained in your ZCHESS.KEY
  899.     file.
  900.  
  901.     If you want to publish your BBS phone number for the purpose of starting
  902.     interBBS chess-wars, you should post messages on your networked subs
  903.     stating that fact.    I will not post your BBS name and telephone number
  904.     in any public or private medium.
  905.  
  906.     PKZIP Authentication Verification
  907.  
  908.     For your protection, this program has been zipped using the
  909.     following Authentication Verification code:
  910.  
  911.     JWE939 Paul Fargen
  912.  
  913.     The above code should be displayed when the files are extracted from
  914.     the archive file.  If this -AV code is not displayed and you are unsure
  915.     of your source, or any error message is received when the files are
  916.     extracted, please do not use the program.  Call one of the support
  917.     BBSes shown above and download another copy of the program.  Note that
  918.     some BBSes will rezip files posted on their BBSes for the purpose of
  919.     including their own advertisements.  In these cases, you should
  920.     consider whether or not you should run the program or obtain another
  921.     copy.
  922.  
  923.  
  924.     BBS SUPPORT (Please verify that they are still active with a voice
  925.     line before calling.
  926.  
  927.     The 21st Century BBS (Synchronet)
  928.      Node 1:  14400 bps  (502) 491-2487
  929.      Node 2:  14400 bps  (502) 491-1340
  930.      Message section Disciple-Net, Chess Chatter
  931.      Big Brother, Mad Dog, The Advocate and The Trader sysops.
  932.      Network Address:    FIDOnet        1:2320/40
  933.  
  934.     Talon BBS (Synchronet), Sir Talon, Louisville, KY
  935.      All nodes:  (502) 957-1855
  936.      FREQ: Magic word ZCHESS from
  937.      Network Address:    FIDOnet         1:2320/404
  938.  
  939.     Electric Knights Chess BBS, (WildCat) Bill Brown, Paris, Ontario
  940.      BBS: (519) 442-6449
  941.  
  942.     REGISTRATION
  943.  
  944.     All version 1.x registrations will also be sent a registered copy of
  945.     version 2.0 as soon as its available.  You may download the current
  946.     version of ZCHESS from one of the support BBSes at any time.  Upon
  947.     registering, you will receive the latest version of Zchess and any
  948.     utilities which may be developed.  The .KEY file can be mailed for
  949.     $3.00 or made available on one of the support BBSes listed above.
  950.  
  951.     There is currently one level of registration:
  952.  
  953.     $40  allows full use of Zchess and its utilities without
  954.          restriction.
  955.  
  956.     SPECIAL RATE for version 1.7 only!!!
  957.     You may register now for $25, with no charge for shipping and
  958.     handling.  With the regular ZCHESS package, you will have the
  959.     opportunity to Beta test NETCHESS.EXE, which will enable your ZCHESS
  960.     door to be networked, via SBBS messages or files transfers between
  961.     BBSES.  Fill in the Registration below, and specify a four
  962.     alpha-numeric vanity key.  If the one(s) you specify have been used,
  963.     you will be assigned a key by the author.
  964.  
  965.  
  966.     To register ZCHESS, please send $25 + $3 s/h.  KY residents add
  967.     sales tax.    If you prefer to download the key from a support BBS,
  968.     then send $25 plus tax, and specify the BBS you will retrieve the
  969.     file from.    Keys will be PKZIPped with encription, so specify the
  970.     password want used on this form.
  971.  
  972.      Paul Fargen
  973.      6200 Richiewayne Drive
  974.      Louisville, KY
  975.      40219
  976.  
  977.      System Name__________________________________________________
  978.  
  979.      Four Character KEY Serial Number preferred:  ________________
  980.  
  981.      Second Choice:                   ________________
  982.  
  983.      Third Choice:                      ________________
  984.  
  985.      Your Name ___________________________________________________
  986.  
  987.      Mailing Address______________________________________________
  988.  
  989.      City, State, ZIP, Province, etc._____________________________
  990.  
  991.      _____________________________________________________________
  992.  
  993.      Post Key on BBS?  ___________________________________________
  994.  
  995.      If Yes, Specify the BBS, and the Password you will use to
  996.      unzip the .KEY file:
  997.                   ________________________________________
  998.  
  999.       Enclosed:             Registration     $40 ____________
  1000.  
  1001.                      Shipping           $3 ____________
  1002.  
  1003.                      Tax (KY $2.40 )      ____________
  1004.  
  1005.            Special!!!!!      $25 + KY tax      ____________
  1006.  
  1007.  
  1008.      _____________________________________________________________
  1009.  
  1010.      _____________________________________________________________
  1011.  
  1012.      _____________________________________________________________
  1013.  
  1014.      _____________________________________________________________
  1015.  
  1016.      _____________________________________________________________
  1017.  
  1018.      _____________________________________________________________
  1019.  
  1020.      _____________________________________________________________
  1021.      
  1022.